/*
ajax请求函数模块
 */
import axios from 'axios'
// 对外暴露一个函数
// 请求参数：url, 请求参数对象(给默认值)，请求方式(给默认值)
// 返回值： promise对象（异步返回的数据是：response.data）
export default function ajax(url, data={},type='GET'){
  return new Promise(function (resolve, reject) {
    let promise
    if (type === 'GET') {
      // 准备 url query 参数数据
      let dataStr = '' // 数据拼接字符串
      Object.keys(data).forEach(key => {
        dataStr += key + '=' + data[key] + '&'
      })
      if (dataStr !== '') {
        dataStr = dataStr.substring(0, dataStr.lastIndexOf('&'))
        url = url + '?' + dataStr
      }
      // 发送 get 请求
      promise = axios.get(url)
    } else {
      // 发送 post 请求
      promise = axios.post(url, data)
    }
    // 成功处理
    promise.then(response => {
      resolve(response.data)
    })
      // 失败处理
      .catch(error => {
        reject(error)
      })
  })
}
